Skip to content

Conversation

@miry
Copy link

@miry miry commented Sep 16, 2018

func BenchmarkMerge(b *testing.B) {
  b.Run("hash", func(b *testing.B) {
  }
  b.Run("array", func(b *testing.B) {
  }
}

Would generate output:

BenchmarkMerge/hash-4
BenchmarkMerge/array-4

Add in the list of valid characters / resolve problem.

Sample charts: http://benchgraph.codingberg.com/45

func BenchmarkAccessStructure(b *testing.B) {
	for _, size := range []int{1, 10, 100, 1000, 10000, 100000} {
		benchmarkAccessStructure(b, size)
	}
}

func benchmarkAccessStructure(b *testing.B, size int) {
	var indexes = make([]int, size, size)
	var arr = make([]int, size, size)
	var hash = make(map[int]int)

	rand.Seed(42)
	for i := 0; i < size; i++ {
		indexes[i] = rand.Intn(size)
		arr[i] = i
		hash[i] = i
	}

	b.ResetTimer()

	b.Run(fmt.Sprintf("Array_%d", size), func(b *testing.B) {
		for i := 0; i < b.N; i++ {
			indx := indexes[i%size] % size
			_ = arr[indx]
		}
	})

	b.Run(fmt.Sprintf("Hash_%d", size), func(b *testing.B) {
		for i := 0; i < b.N; i++ {
			indx := indexes[i%size] % size
			_ = hash[indx]
		}
	})
}

```golang
func BenchmarkMerge(b *testing.B) {
  b.Run("hash", func(b *testing.B) {
  }
  b.Run("array", func(b *testing.B) {
  }
}
```

Would generate output:

```
BenchmarkMerge/hash-4
BenchmarkMerge/array-4
```

Add in the list of valid characters `/` resolve problem
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant